﻿#region

using System.Collections.Generic;
using DomainModel.Domain.Bases;
using DomainModel.Domain.Model.MessageAssemblyModel;
using DomainModel.Domain.Model.MessageTypeModel;
using DomainModel.Utils;
                       
#endregion



namespace DomainModel.Domain.Model.MessageTypeModel
{
    public class MessageType : Entity<MessageType, MessageTypeId>
    {
        public MessageType(MessageTypeId id)
            : base(id)
        {
            Validate.NotNull(id, "MessageTypeId must not be null");     
            TypeDescription = new TypeDescriptionWrapper();
        }

        public virtual string Name { get; set; }

        public virtual string Hash { get; set; }

        public virtual IList<MessageAssembly> MessageAssembliesList { get; set; }

        public virtual TypeDescriptionWrapper TypeDescription { get;set;} 

        protected internal MessageType()
        {
        }
    }
}